// let baseurl = 'http://192.168.1.46:8888'
// let baseurl = 'https://www.jumpvip.vip'
let baseurl = 'http://47.120.16.213:8888'

import i18n from '@/lang/index'

function request(options) {
	if (options.method == 'get' && options.data) {
		let url = options.url + '?' + tansParams(options.data)
		url = url.slice(0, -1)
		options.url = url
	}
	return new Promise((resolve, reject) => {
		uni.request({
			url: baseurl + options.url, // 服务器url
			method: options.method || 'GET', // 请求方法，默认为GET
			data: options.data || {}, // 请求参数
			header: options.header || {
				'Content-Type': 'application/json'
			}, // 设置请求的 header
			success: (res) => {
				// 请求成功
				if (res.statusCode === 200) {
					if (res.statusCode === 200) {
						if (res.data.code == 500) {
							let msg = '';
							switch (res.data.msg) {
								case '500':
									msg = '系统错误'
									msg = i18n.global.t('h1')
									break;
								case '5001':
									msg = '请先绑定上级'
									msg = i18n.global.t('h2')
									break;
								case '5002':
									msg = '请勿重复绑定'
									msg = i18n.global.t('h3')
									break;
								case '5003':
									msg = '推荐人不存在'
									msg = i18n.global.t('h4')
									break;
								case '5004':
									msg = '该社区不存在'
									msg = i18n.global.t('h5')
									break;
								case '5005':
									msg = '地址一冻结'
									msg = i18n.global.t('h6')
									break;
								case '5006':
									msg = '原密码错误'
									msg = i18n.global.t('h7')
									break;
								case '5007':
									msg = '密码错误'
									msg = i18n.global.t('h8')
									break;
								case '5008':
									msg = '该等级不存在'
									msg = i18n.global.t('h9')
									break;
								case '5009':
									msg = '不能激活低于或等于自身的等级'
									msg = i18n.global.t('h10')
									break;
								case '5010':
									msg = '余额不足'
									msg = i18n.global.t('h11')
									break;
								case '5011':
									msg = '订单状态错误'
									msg = i18n.global.t('h12')
									break;
								case '5012':
									msg = '不能转给自己'
									msg = i18n.global.t('h13')
									break;
								case '5013':
									msg = '转账地址不存在'
									msg = i18n.global.t('h14')
									break;
								case '5014':
									msg = '转账数量错误'
									msg = i18n.global.t('h15')
									break;
								case '5015':
									msg = '资产类型错误'
									msg = i18n.global.t('h16')
									break;
								case '5016':
									msg = '质押数量错误'
									msg = i18n.global.t('h17')
									break;
								case '5017':
									msg = '兑换数量错误'
									msg = i18n.global.t('h18')
									break;
								case '5018':
									msg = '提现数量错误'
									msg = i18n.global.t('h19')
									break;
								case '5019':
									msg = '社区等级不足'
									msg = i18n.global.t('h20')
									break;
								default:
									msg = res.data.msg
							}
							// uni.showToast({
							// 	icon: 'error',
							// 	title: msg,
							// })
							res.data.msg = msg;
							resolve(res.data);
						} else {
							resolve(res.data);
						}

					} else {
						// 可以根据项目要求修改错误处理
						reject(res);
					}
					resolve(res.data);
				} else {
					// 可以根据项目要求修改错误处理
					reject(res.data);
				}
			},
			fail: (err) => {
				console.log(err)
				// 请求失败处理
				reject(err);
			},
		});
	});
}

function tansParams(params) {
	let result = ''
	for (const propName of Object.keys(params)) {
		const value = params[propName]
		var part = encodeURIComponent(propName) + "="
		if (value !== null && value !== "" && typeof(value) !== "undefined") {
			if (typeof value === 'object') {
				for (const key of Object.keys(value)) {
					if (value[key] !== null && value[key] !== "" && typeof(value[key]) !== 'undefined') {
						let params = propName + '[' + key + ']'
						var subPart = encodeURIComponent(params) + "="
						result += subPart + encodeURIComponent(value[key]) + "&"
					}
				}
			} else {
				result += part + encodeURIComponent(value) + "&"
			}
		}
	}
	return result
}

export default request